我想使用来自Let'sEncrypt的证书有大量的Jetty服务器。其中一个问题是Let'sEncrypt的证书有一个lifetimeof90days.为了处理这个问题,Jetty服务器或一些额外的代码必须经常更新证书。Jetty可以处理这个self吗?如果是,我该如何启用它?如果我需要使用Javaclient自行实现它那么如何在不重启Jetty服务器的情况下通过JettyAPI动态替换证书?编辑:一些相关的和部分有用的链接:settingsslkeystoreatruntimeinJettyChangingJettySSLservercertificateon-the-fly
我正在使用MATLAB的urlread访问内部数据库命令,一切正常,直到将服务移至安全服务器(即使用HTTPS地址而不是HTTP地址)。现在urlread不再成功检索结果。它给出了一个错误:ErrordownloadingURL.Yournetworkconnectionmaybedownoryourproxysettingsimproperlyconfigured.我认为问题是该服务使用了无效的数字证书,因为如果我尝试直接在Web浏览器中访问该资源,我会收到“不受信任的连接”警告,我可以通过将站点添加到异常(exception)list。urlread没有明显的方法来处理这个问题。在
我有以下代码:PrivateKeykey=null;X509Certificatecert=null;KeyPairkeyPair=null;finalReaderreader=newStringReader(pem);try{finalPEMReaderpemReader=newPEMReader(reader,newPasswordFinder(){@Overridepublicchar[]getPassword(){returnpassword==null?null:password.toCharArray();}});Objectobj;while((obj=pemReader
我正在尝试在我的网络服务器中实现一个自签名证书,并且它已经可以与firefox和chrome一起工作(无论是从服务器本身还是从远程机器)......但是我无法让它与java一起工作.我已经创建了一个包含我的证书的keystore文件,但每次我尝试连接到服务器时,它都会给我一个SSLHandshakeException:javax.net.ssl.SSLHandshakeException:java.security.cert.CertificateException:Nosubject找到与IP地址192.168.178.71匹配的替代名称我用于此测试的代码是:publicstatic
[更新]Oracle刚刚修改了加密路线图(https://www.java.com/en/jre-jdk-cryptoroadmap.html),他们将不会弃用SHA-1进行代码签名:2017-03-14目标日期从2017-04-18更改为2017-07-18。所有SHA-1使用的范围缩小:只有TLS会受到影响,*此时代码签名不会受到影响*。这不会以任何方式影响我在下面收到的很好的答案,因为毫无疑问,它将在未来适用。--原帖:尝试在JRE9ea153上运行我们的Webstart部署的Java应用程序,我得到以下弹出窗口:进一步查看详细信息,我看到证书在一段时间内仍然有效:,因此,我想知
我不知道我做错了什么。我有以下代码:byte[]digest=newbyte[0];MessageDigestmd=null;try{md=MessageDigest.getInstance("SHA-512");}catch(NoSuchAlgorithmExceptione){returndigest;}digest=md.digest(myString.getBytes());在NetBeans调试器中查看digestbyte[]的十六进制值,它显示的内容与以下输出不同:echo"myString"|openssldgst-sha512我猜这是一个字符编码问题,但JVM和open
在尝试使用HttpClient调用使用自签名证书的https站点时,我有点困惑。我有如下代码,它使我能够进行调用,但随后出现类似javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:Notrustedcertificatefound的错误我已经从我的Web浏览器下载了证书,我知道我可以将它导入keystore,但我宁愿将它放入代码中并以这种方式使用它,有没有办法做到这一点?HttpClientclient=newHttpClient();EasySSLProtocolSocketFac
我的Tomcat需要使用SSL(TLS)连接到另一个Web服务器(在https://foreign.example.com)。foreign.example.com有一个我信任的自签名证书。当然,我的Tomcat默认情况下没有-所以我必须告诉它。一种方法是:$JRE/bin/keytool-import-aliasmy-filessl-cert-myselfsigned.cer-keystore$JRE/lib/security/cacerts这有效:我的Tomcat允许SSL连接。但是,我不喜欢这样做:它将证书导入到我安装的Java的受信任key中。我不想说:“在我的机器上运行Jav
我需要使用在java中的Https下构建的Web服务。Web服务客户端是使用Eclipse生成的,我使用以下代码调用它:ServicioTimbradoPruebasLocatorServicioTimbradoLocator=newServicioTimbradoPruebasLocator();ServicioTimbradoPruebasSoapServicioTimbrado=ServicioTimbradoLocator.getServicioTimbradoPruebasSoap();javax.xml.rpc.Stubs=((javax.xml.rpc.Stub)Serv
我已经设置了一个Tomcat7.0应用服务器,通过SSL进行相互(客户端/服务器)身份验证。要设置此配置,我需要为服务器创建一个.jks文件,并在我的Web浏览器中为它创建一个.pks证书。在Tomcat中配置server.xml文件后,我进行了相互身份验证和SSL工作。现在我正试图在servlet中获取证书,但是我似乎无法从servlet中的请求中获取证书。我可以设置一个过滤器,成功地从请求中提取证书。任何人都可以向我提供允许我从servlet获取证书的配置/代码吗?我也接受无法在servlet中获取证书的原因。服务器.xmlMyServlet.java-这将引发RuntimeExc